#ifndef _BSP_G3507STD_H
#define _BSP_G3507STD_H

#include "stdint.h"
#include "stdio.h"

#define DEVICE_ID_G3507  1

// 板载命令数据数组最大长度
#define G3507_BOARD_ORDER_ARRAY_LEN      20

// 板载传感器数据数组最大长度
#define G3507_BOARD_SENSOR_ARRAY_LEN      20



// INDEX of UART_ORDER_RUN , 运行状态命令的索引码

// TODO : 在 用户应用层，使用 order 和 sensor 这两个术语
// TODO : 在 通讯协议层，使用 CMD 这个术语

extern uint32_t g_g3507_board_order_array[G3507_BOARD_ORDER_ARRAY_LEN];
extern uint32_t g_g3507_board_sensor_array[G3507_BOARD_SENSOR_ARRAY_LEN];


////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
//dac
extern const uint16_t gOutputSignalSine64[64];
extern const uint16_t gOutputSignalSine64_1[64];

void dac_dma_output_sinesignal(const uint16_t * outputsignalsine64, uint32_t len);


/**************************************************************************
 * 函数名称：
 * 函数说明: 
 * 参    数：
 * 返 回 值: 成功返回 0 ，失败返回 -1 
 *************************************************************************/
int g3507_board_get_sensor(  uint32_t *board_order_array  , uint32_t board_order_array_len );

/**************************************************************************
 * 函数名称：
 * 函数说明: 
 * 参    数：
 * 返 回 值: 成功返回 0 ，失败返回 -1 
 *************************************************************************/
int g3507_board_set_order( uint32_t *board_order_array  , uint32_t board_order_array_len );


#endif